package com.demo.connectdbtest.module.minio.service;

import java.io.InputStream;
import java.util.List;

/**
 * 操作minio相关业务接口
 */
public interface FileStorageService {

    /**
     * 上传图片文件
     *
     * @param prefix      文件前缀
     * @param filename    文件名
     * @param inputStream 文件流
     * @return 文件全路径
     */
    public String uploadImgFile(String prefix, String filename, InputStream inputStream);

    /**
     * 上传html文件
     *
     * @param prefix      文件前缀
     * @param filename    文件名
     * @param inputStream 文件流
     * @return 文件全路径
     */
    public String uploadHtmlFile(String prefix, String filename, InputStream inputStream);

    /**
     * 删除文件
     *
     * @param pathUrl 文件全路径
     */
    public void delete(String pathUrl);

    /**
     * 下载文件
     *
     * @param pathUrl 文件全路径
     * @return
     */
    public byte[] downLoadFile(String pathUrl);

    /**
     * 查询指定目录下的所有文件名称
     * @param dirPath
     * @param reverse 是否倒叙 默认倒叙
     * @return
     */
    List<String> listFileName(String dirPath,Boolean reverse);
}
